#include <iostream>
#include <algorithm>

using namespace std;

bool arr[128][128] = { false };
int n, m;

bool test(int x, int y)
{
    if (x >= 2 && y >= 1)
    {
        if (arr[x - 2][y - 1] && !arr[x - 1][y - 1])
        {
            return false;
        }
    }
    if (x >= 1 && y >= 2)
    {
        if (arr[x - 1][y - 2] && !arr[x - 1][y - 1])
        {
            return false;
        }
    }
    if (x >= 2 && y <= m - 2)
    {
        if (arr[x - 2][y + 1] && !arr[x - 1][y + 1])
        {
            return false;
        }
    }
    if (x >= 1 && y <= m - 3)
    {
        if (arr[x - 1][y + 2] && !arr[x - 1][y + 1])
        {
            return false;
        }
    }
    if (x <= n - 2 && y <= m - 3)
    {
        if (arr[x + 1][y + 2] && !arr[x + 1][y + 1])
        {
            return false;
        }
    }
    if (x <= n - 3 && y <= m - 2)
    {
        if (arr[x + 2][y + 1] && !arr[x + 1][y + 1])
        {
            return false;
        }
    }
    if (x <= n - 2 && y >= 2)
    {
        if (arr[x + 1][y - 2])
        {
            return false;
        }
    }
    if (x <= n - 3 && y >= 1)
    {
        if (arr[x + 2][y - 1])
        {
            return false;
        }
    }
    return true;    
}

int main(int argc, char const *argv[])
{
    int k, x, y;
    int i, j, result = 0;
    cin >> n >> m >> k;
    for (i = 0; i < k; i++)
    {
        cin >> x >> y;
        if (test(x - 1, y - 1))
        {
            result++;
            arr[x - 1][y - 1] = true;
        }
    }
    cout << result;
    return 0;
}
